Overclocking has been utilized as an efficient technique for improving processor performance by utilizing existing capabilities of a processor to function at elevated speeds. Generally speaking, overclocking involves operating a processor at a clock rate that is greater than a nominal clock rate, such as the processor manufacturer's suggested clock rate, to increase the overall rate at which the processor executes its operations. It may be possible to operate a processor at overclocked speeds because suggested clock rates are often specified to be lower than that of the processor's actual capability, creating a margin of unutilized performance capacity. By operating the processor at a clock rate beyond the suggested clock rate, the processor's unutilized performance capacity can be exploited without incurring significant costs. Overclocking may be applicable to a wide range of different computer processors and computer systems. As long as a margin exists to allow a processor to be operate at speeds higher than a nominal clock speed specified for the processor, overclocking can potentially be utilized to achieve considerable performance improvements.
FIG. 1 is a block diagram of an illustrative computer system 100 containing a processing unit that may be overclocked. As mentioned above, overclocking may be applicable to different types of computer processors and computer systems. FIG. 1 merely provides one example of such a system. As shown, computer system 100 includes a graphics card 102, a central processing unit (CPU) 104, a chipset comprising a northbridge chip 106 and a southbridge chip 108, system memory 110, peripheral component interconnect (PCI) slots 112, a disk drive controller 114, universal serial bus (USB) connectors 116, audio CODEC 118, a super I/O controller 120, and a keyboard controller 122. As shown in FIG. 1, graphics card 102 includes a graphics processing unit (GPU) 124 and local memory 126. Also, graphics card 102 is connected to a display 128 that may be part of computer system 100. Here, GPU 124 is a semiconductor chip designed to perform graphics processing operations associated with rendering an image that may be presented on display 128.
CPU 104 performs its operations based on a processor clock. This clock may be generated externally or internally with respect to CPU 104. The processor clock may be generated by multiplying-up or dividing-down a source signal, such as another clock signal or a reference signal generated from an oscillating crystal. The processor clock used by CPU 104 may be adjusted to different rates in a variety of ways. For example, the multiplier value for multiplying-up the source signal, or the divider value for dividing-down the source signal, may be changed in order to modify the rate of the processor clock. As another example, the source signal itself may be adjusted to a higher or lower rate, in order to modify the rate of the processor clock. Also, a combination of such techniques can be employed. Thus, different methods can be used to adjust the rate of the processor clock utilized by CPU 104.
By adjusting the processor clock used by CPU 104 to a clock rate that is greater than the nominal or suggested clock rate of CPU 104, the overall speed with which CPU 104 carries out its operations may increased correspondingly. This can result in significant performance improvements for CPU 104 in particular, as well as for computer system 100 in general. Operations of CPU 104 affect other components of computer system 100. For example, operations of graphics card 102 and GPU 124 may rely on calculations and other tasks performed by CPU 104. By increasing the speed of CPU 104, performance of associated components such as graphics card 102 and GPU 124 may also be improved.
While overclocking has considerable potential for increasing computer processor and system performance in a cost-effective manner, there exist significant pitfalls associated with traditional overclocking techniques. For instance, a processor operated at elevated clock rates may be pushed beyond its actual capability, which can lead to a variety of failures ranging from occasional logical errors to permanent damage of hardware components within the processor. Further, operation at elevated clock rates for extended periods of time may shorten the useful life of the processor. One known technique for overclocking involves statically setting the processor clock to a particular clock rate above the manufacturer's suggested clock rate. This may be done, for example, by modifying the basic input/output system (BIOS) program of a computer system such as system 100, to alter parameters that determine the processor clock rate at system start up. Often, the particular clock rate that is statically set in this manner is chosen on the basis of trial and error. Such a basic overclocking technique allows performance to be increased but leaves the processor highly vulnerable to risks of failure and a shortened life expectancy. Specifically, the clock rate chosen by trial and error may be excessively high, leading to risks of failures such as logical errors and permanent damage to the processor. Also, by statically setting the overclocking clock rate, the processor is operated at elevated speeds at all times, regardless of usage. This further increases chances of failure and incurs excessive wear on integrated circuit components in the processor.
Despite the shortcomings of traditional techniques, overclocking provides considerable potential for improvements in performance. By taking advantage of existing, unutilized processor capacity, performance gains may be extracted with minimal expenditure of additional resources. As applications become more and more computationally intensive, the need increases for obtaining every possible gain in processor capability. Thus, there exists an urgent need for improved overclocking techniques which limit risks of failure and damage to the processor, while safely and cost-effectively obtaining increased performance in computer systems.